package pe.edu.upc.e41a.javasoft.service;

import java.util.List;
import org.springframework.roo.addon.layers.service.RooService;
import pe.edu.upc.e41a.javasoft.domain.TipoDocumento;

@RooService(domainTypes = { pe.edu.upc.e41a.javasoft.domain.TipoDocumento.class })
public interface TipoDocumentoService {

	public abstract long countAllTipoDocumentoes();


	public abstract void deleteTipoDocumento(TipoDocumento tipoDocumento);


	public abstract TipoDocumento findTipoDocumento(Integer id);
	public abstract TipoDocumento obtenerTipoDocumento(String idTipoDocumento);


	public abstract List<TipoDocumento> findAllTipoDocumentoes();


	public abstract List<TipoDocumento> findTipoDocumentoEntries(int firstResult, int maxResults);


	public abstract void saveTipoDocumento(TipoDocumento tipoDocumento);


	public abstract TipoDocumento updateTipoDocumento(TipoDocumento tipoDocumento);
	
	
	// Métodos persistentes;
	public abstract String insertarTipoDocumento(TipoDocumento tipoDocumento);

	public abstract String actualizarTipoDocumento(TipoDocumento tipoDocumento);

	public abstract String eliminarTipoDocumento(TipoDocumento tipoDocumento);

	// Finders comunes
	public abstract long contarTipoDocumentos();

	public abstract List<TipoDocumento> listarTodoTipoDocumentos();

	public abstract TipoDocumento buscarTipoDocumentoPorCodigo(Integer codigo);


	// Finders avanzado
	public abstract TipoDocumento buscarTipoDocumentoesPorDescripcionExacta(
			String descripcion);

}
